home *** CD-ROM | disk | FTP | other *** search
/ PC Gamer (Italian) 36 / PC Gamer IT CD 36 2-2.iso / VIGDEMO / data1.cab / Assets / scripts / bomb.e < prev    next >
Text File  |  1998-09-21  |  4KB  |  623 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446. int Initialize(string type)
  447. {
  448.     global string gMessage;
  449.     global real gInRadius = 60.0;
  450.     global real gOutRadius = 90.0;
  451.     global int gNetwork = 0;
  452.     global int state = 0;
  453.     global int hitValue = 20;
  454.     global real gTimer = 20.0;
  455.     global real gExplodeRadius = 40.0; 
  456.     global int gStartSound = 7;
  457.     global int gProgressSound = 18;
  458.     global int gEndSound = 27;
  459.     global int gStyle = 2;
  460.     global real gMass = 5.0;
  461.     global int gWantToStart = 0;
  462.     
  463.     Reset("dummy");
  464.     return 0;
  465.  
  466. }
  467.  
  468. int startsound(string soundname)
  469. {
  470.     gStartSound = GetSoundIndex(soundname);
  471.  
  472. }
  473.  
  474. int endsound(string soundname)
  475. {
  476.     gEndSound = GetSoundIndex(soundname);
  477.  
  478. }
  479.  
  480. int progresssound(string soundname)
  481. {
  482.     gProgressSound = GetSoundIndex(soundname);
  483.  
  484. }
  485.  
  486. int sethardstyle()
  487. {
  488.     gStyle = 0;
  489. }
  490.  
  491. int Reset(string dummy)
  492. {
  493.     if (gWantToStart != 1) {
  494.         state = 0;
  495.         wakeupTime = -1.0;
  496.     }
  497.  
  498.     print("reset");
  499.     
  500.     SetStyle(thisObject,gStyle);
  501.     SetCollidableProperties(thisObject,1,0);
  502.     return 0;
  503. }
  504.  
  505. int exploderadius(string str)
  506. {
  507.     gExplodeRadius = Str2Real(str);
  508. }
  509.  
  510. int inradius(string str)
  511. {
  512.     gInRadius = Str2Real(str);
  513. }
  514.  
  515. int timer(string str)
  516. {
  517.     gTimer = Str2Real(str);
  518. }
  519.  
  520. int network(string str)
  521. {
  522.     gNetwork = Str2Int(str);
  523. }
  524.  
  525. int outradius(string str)
  526. {
  527.     gOutRadius = Str2Real(str);
  528. }
  529.  
  530.  
  531. int damage(string str)
  532. {
  533.     hitValue = Str2Int(str);
  534.     return 0;
  535. }
  536.  
  537. int start(string dummy)    
  538. {
  539.     real time ;
  540.     time = GetTime(thisObject);
  541.  
  542.     gWantToStart = 1;
  543.     if (state == 0) 
  544.     {
  545.         state = 1;
  546.  
  547.     
  548.         PlaySound(thisObject,gStartSound);
  549.         
  550.         wakeupTime = time + 1.0;
  551.     }
  552.     return 0;
  553. }
  554.  
  555. int Explosion(int param)
  556. {
  557.     real time ;
  558.     time = GetTime(thisObject);
  559.     state = 2;
  560.     LaunchEFX(thisObject,2,0);
  561.     FireSaveInfo(thisObject,hitValue,0,gMass,1);    
  562.     Explode(thisObject,hitValue,gExplodeRadius,gMass);
  563.     SetStyle(thisObject,4);
  564.     PlaySound(thisObject,gEndSound);
  565.     SetCollidableProperties(thisObject,0,0);
  566.  
  567.     return 0;
  568. }
  569.  
  570. int Colliders(string dummy) 
  571. {
  572.     
  573.     map::iterator ix;
  574.     map::iterator iy;
  575.     map objInList;
  576.  
  577.     if (IsAuthoritative(thisObject) != 1)
  578.         return;
  579.  
  580.     objInList = Collisions(thisObject,0,1,0);
  581.  
  582.     ix = begin(objInList);
  583.     iy = end(objInList);
  584.  
  585.     if (ix != iy)
  586.     {
  587.         
  588.         state = 0;
  589.     }
  590.     
  591.     return 0;
  592. }
  593.  
  594. int TimedEvent(int input)
  595. {
  596.     real time;
  597.     time = GetTime(thisObject);
  598.     if (state == 1)
  599.     {
  600.         PlaySound(thisObject,gProgressSound);
  601.         gTimer = gTimer - 1.0;
  602.         if (gTimer <= 0.0)
  603.         {
  604.             state = 2;
  605.         }
  606.         wakeupTime = time + 1.0;
  607.         SetTimer(thisObject,gTimer);
  608.     }    
  609.     else if (state == 2)
  610.     {
  611.         
  612.         Explosion(0);
  613.         SendMessage(thisObject,gOutRadius,gNetwork);
  614.         Remove(thisObject);
  615.         wakeupTime = -1.0;
  616.         SetTimer(thisObject,-1.0);
  617.     }
  618.     else
  619.         wakeupTime = -1.0;
  620.     return 0;
  621. }
  622.  
  623.